#pragma once
#include<iostream>
#include<string>
#include<sys/socket.h>
#include<sys/types.h>
#include<arpa/inet.h>
#include<netinet/in.h>
// 网络地址和主机地址之间进行转换的类
class InetAddr
{
public:
	InetAddr(struct sockaddr_in &addr): _addr(addr)
	{
		//将网络字节序的端口号转换为主机字节序
		_port = ntohs(_addr.sin_port);
		// 4字节网络风格的IP -> 点分十进制的字符串风格的IP
		_ip = inet_ntoa(_addr.sin_addr);
	}
	uint16_t Port() {return _port;}
	std::string Ip() {return _ip;}

	~InetAddr()
	{}
private:
	struct sockaddr_in _addr;
	std::string _ip;
	uint16_t _port;
};